package w83b.w83bOperacionesPaso.w83bMantenimientos.w83bUsuarios;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import w83b.w83bBeans.W83bUsuariosBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import w83b.w83bUtilidadesComunes.W83bClsTrazas;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

// TODO: Auto-generated Javadoc
/**
 * The Class W83bTablaAgrupacionesOP.java.
 *
 * @author Deusto Sistemas
 */
public class W83bTablaUsuariosOPAction extends Q70ActionPasoOP{

	
	/* (non-Javadoc)
	 * @see es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP#processOP(es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE, org.apache.struts.action.ActionErrors, org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//Guardamos la accion en el contexto

			W83bClsTrazas.traza(null, "entro en el W83bTablaUsuariosOPAction");
			contexto.set("action",request.getParameter("action"));
			W83bUsuariosBean usuariosBean = (W83bUsuariosBean)contexto.get("w83bUsuariosBean");
		if((StringUtils.isEmpty((String)contexto.get("modoPantalla"))
				||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla")))
				&&(!"sord".equals(request.getParameter("action")))){
			if("true".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))){
				usuariosBean = new W83bUsuariosBean();
				usuariosBean.setDni(request.getParameter("w83bUsuariosBean.dni"));
				usuariosBean.setNombre(request.getParameter("w83bUsuariosBean.nombre"));
				usuariosBean.setApellido1(request.getParameter("w83bUsuariosBean.apellido1"));
				usuariosBean.setApellido2(request.getParameter("w83bUsuariosBean.apellido2"));
				usuariosBean.setSindicato(request.getParameter("w83bNuevaListaDelegadoBean.sindicato"));
				usuariosBean.setDescSindicato(request.getParameter("w83bUsuariosBean.descSindicato"));
				//usuariosBean.setTelefono(request.getParameter("w83bUsuariosBean.telefono"));
				//sindicatosBean.setStes(request.getParameter("w83bSindicatosBean.stes"));
				usuariosBean = (W83bUsuariosBean)W83bUtilidadesComunes.inicializarPaginador(request, usuariosBean);
				usuariosBean.setPage("1");
				contexto.set("w83bUsuariosBean",usuariosBean);
			}
			else{
				usuariosBean = (W83bUsuariosBean)W83bUtilidadesComunes.inicializarPaginador(request, usuariosBean);
				//sindicatosBean.setStes("N");
				contexto.set("w83bUsuariosBean",usuariosBean);	
			}
		}else if("sord".equals(request.getParameter("action"))){
			usuariosBean = (W83bUsuariosBean)W83bUtilidadesComunes.inicializarPaginador(request, usuariosBean);			
			contexto.set("w83bUsuariosBean",usuariosBean);
		}else if(StringUtils.isEmpty(((W83bUsuariosBean)contexto.get("w83bUsuariosBean")).getSort())){
			usuariosBean = (W83bUsuariosBean)W83bUtilidadesComunes.inicializarPaginador(request, usuariosBean);			
			contexto.set("w83bUsuariosBean",usuariosBean);
		}
		
	}

	/* (non-Javadoc)
	 * @see es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP#processForward(es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE, org.apache.struts.action.ActionErrors, org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		String action = (String)contexto.get("action");

		W83bUsuariosBean usuariosBean = (W83bUsuariosBean)contexto.get("w83bUsuariosBean");
		//W83bListaSindicatosBean listasindicatosBean = (W83bListaSindicatosBean)contexto.get("w83bNuevaListaDelegadoBean");
		if(null==(ArrayList)contexto.get("w83bListaUsuarios")){	
			contexto.set("w83bListaUsuarios", new ArrayList());
		}
		if(null==usuariosBean.getDni()
				&&null==usuariosBean.getNombre()
				&&null==usuariosBean.getApellido1()
				&&null==usuariosBean.getApellido2()
				&&null==usuariosBean.getSindicato()
				&&null==usuariosBean.getTelefono()
				//&&null==sindicatosBean.getStes()
				){
			return mapping.findForward("find");
		}else if ("find".equals(action)
				||"sord".equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
			if(StringUtils.isEmpty((String)contexto.get("modoPantalla"))
					||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))){
				return mapping.findForward("find");
			}else{
				contexto.set("modoPantalla",W83bClsConstantes.MODO_BUSQUEDA);
				contexto.set("migas","inicio.mantenimiento.usuarios");
				if("true".equals((String)contexto.get("busqRealizada"))){
					return mapping.findForward("find");					
				}
			}
		}

		
		return mapping.findForward("ok");
	}

}
